/*CodeBuilder v2.0.1 by 2022-04-27 00:02 */
using System;
using ASmile.ORM.Entitys;

namespace ASmile.DBModel
{
	public partial class Sys_RoleUrl : EntityBase
	{
		private System.String _Id;
		/// <summary>
		/// Id
		/// </summary>
		[Entity(CNId, 0, true, IsPrimaryKey = true)]
		public System.String Id
		{
			get { return _Id; }
			set
			{
				if (!OnPropertyChanged(CNId, _Id, value)) return;
				_Id = value;
				SetFieldChanged(CNId) ;
			}
		}

		private System.String _RoleId;
		/// <summary>
		/// RoleId
		/// </summary>
		[Entity(CNRoleId, 1, true)]
		public System.String RoleId
		{
			get { return _RoleId; }
			set
			{
				if (!OnPropertyChanged(CNRoleId, _RoleId, value)) return;
				_RoleId = value;
				SetFieldChanged(CNRoleId) ;
			}
		}

		private System.String _RoleName;
		/// <summary>
		/// RoleName
		/// </summary>
		[Entity(CNRoleName, 2)]
		public System.String RoleName
		{
			get { return _RoleName; }
			set
			{
				if (!OnPropertyChanged(CNRoleName, _RoleName, value)) return;
				_RoleName = value;
				SetFieldChanged(CNRoleName) ;
			}
		}

		private System.Int32 _MatchMode;
		/// <summary>
		/// 匹配模式，0: 无效，1: StartsWith,2:EndsWith,3: Contains, 4: Equals,5:Regex, 99: 全部可访问，不判断匹配
		/// </summary>
		[Entity(CNMatchMode, 3, true)]
		public System.Int32 MatchMode
		{
			get { return _MatchMode; }
			set
			{
				if (!OnPropertyChanged(CNMatchMode, _MatchMode, value)) return;
				_MatchMode = value;
				SetFieldChanged(CNMatchMode) ;
			}
		}

		private System.String _MatchModeName;
		/// <summary>
		/// MatchModeName
		/// </summary>
		[Entity(CNMatchModeName, 4)]
		public System.String MatchModeName
		{
			get { return _MatchModeName; }
			set
			{
				if (!OnPropertyChanged(CNMatchModeName, _MatchModeName, value)) return;
				_MatchModeName = value;
				SetFieldChanged(CNMatchModeName) ;
			}
		}

		private System.String _MatchValue;
		/// <summary>
		/// 匹配值
		/// </summary>
		[Entity(CNMatchValue, 5, true)]
		public System.String MatchValue
		{
			get { return _MatchValue; }
			set
			{
				if (!OnPropertyChanged(CNMatchValue, _MatchValue, value)) return;
				_MatchValue = value;
				SetFieldChanged(CNMatchValue) ;
			}
		}

		private System.Boolean _IsLimitIP;
		/// <summary>
		/// 当前URL是否限制IP访问
		/// </summary>
		[Entity(CNIsLimitIP, 6, true)]
		public System.Boolean IsLimitIP
		{
			get { return _IsLimitIP; }
			set
			{
				if (!OnPropertyChanged(CNIsLimitIP, _IsLimitIP, value)) return;
				_IsLimitIP = value;
				SetFieldChanged(CNIsLimitIP) ;
			}
		}

		private System.String _IPStrs;
		/// <summary>
		/// 限制IP集合，每个IP用英文分号(;) 隔开，最多100个IP
		/// </summary>
		[Entity(CNIPStrs, 7)]
		public System.String IPStrs
		{
			get { return _IPStrs; }
			set
			{
				if (!OnPropertyChanged(CNIPStrs, _IPStrs, value)) return;
				_IPStrs = value;
				SetFieldChanged(CNIPStrs) ;
			}
		}

		private System.Boolean _IsRefuse;
		/// <summary>
		/// 是否为拒绝访问，用于已匹配之后的黑名单
		/// </summary>
		[Entity(CNIsRefuse, 8, true)]
		public System.Boolean IsRefuse
		{
			get { return _IsRefuse; }
			set
			{
				if (!OnPropertyChanged(CNIsRefuse, _IsRefuse, value)) return;
				_IsRefuse = value;
				SetFieldChanged(CNIsRefuse) ;
			}
		}

		private System.String _Remark;
		/// <summary>
		/// Remark
		/// </summary>
		[Entity(CNRemark, 9)]
		public System.String Remark
		{
			get { return _Remark; }
			set
			{
				if (!OnPropertyChanged(CNRemark, _Remark, value)) return;
				_Remark = value;
				SetFieldChanged(CNRemark) ;
			}
		}

		private System.DateTime _AddTime;
		/// <summary>
		/// AddTime
		/// </summary>
		[Entity(CNAddTime, 10, true)]
		public System.DateTime AddTime
		{
			get { return _AddTime; }
			set
			{
				if (!OnPropertyChanged(CNAddTime, _AddTime, value)) return;
				_AddTime = value;
				SetFieldChanged(CNAddTime) ;
			}
		}

		private System.String _AddUserId;
		/// <summary>
		/// AddUserId
		/// </summary>
		[Entity(CNAddUserId, 11)]
		public System.String AddUserId
		{
			get { return _AddUserId; }
			set
			{
				if (!OnPropertyChanged(CNAddUserId, _AddUserId, value)) return;
				_AddUserId = value;
				SetFieldChanged(CNAddUserId) ;
			}
		}

		private System.String _AddHost;
		/// <summary>
		/// AddHost
		/// </summary>
		[Entity(CNAddHost, 12)]
		public System.String AddHost
		{
			get { return _AddHost; }
			set
			{
				if (!OnPropertyChanged(CNAddHost, _AddHost, value)) return;
				_AddHost = value;
				SetFieldChanged(CNAddHost) ;
			}
		}

		private System.DateTime? _LastTime;
		/// <summary>
		/// LastTime
		/// </summary>
		[Entity(CNLastTime, 13)]
		public System.DateTime? LastTime
		{
			get { return _LastTime; }
			set
			{
				if (!OnPropertyChanged(CNLastTime, _LastTime, value)) return;
				_LastTime = value;
				SetFieldChanged(CNLastTime) ;
			}
		}

		private System.String _LastHost;
		/// <summary>
		/// LastHost
		/// </summary>
		[Entity(CNLastHost, 14)]
		public System.String LastHost
		{
			get { return _LastHost; }
			set
			{
				if (!OnPropertyChanged(CNLastHost, _LastHost, value)) return;
				_LastHost = value;
				SetFieldChanged(CNLastHost) ;
			}
		}

		private System.String _LastUserId;
		/// <summary>
		/// LastUserId
		/// </summary>
		[Entity(CNLastUserId, 15)]
		public System.String LastUserId
		{
			get { return _LastUserId; }
			set
			{
				if (!OnPropertyChanged(CNLastUserId, _LastUserId, value)) return;
				_LastUserId = value;
				SetFieldChanged(CNLastUserId) ;
			}
		}

		#region 字段名的定义
		public const string CNId = "Id";
		public const string CNRoleId = "RoleId";
		public const string CNRoleName = "RoleName";
		public const string CNMatchMode = "MatchMode";
		public const string CNMatchModeName = "MatchModeName";
		public const string CNMatchValue = "MatchValue";
		public const string CNIsLimitIP = "IsLimitIP";
		public const string CNIPStrs = "IPStrs";
		public const string CNIsRefuse = "IsRefuse";
		public const string CNRemark = "Remark";
		public const string CNAddTime = "AddTime";
		public const string CNAddUserId = "AddUserId";
		public const string CNAddHost = "AddHost";
		public const string CNLastTime = "LastTime";
		public const string CNLastHost = "LastHost";
		public const string CNLastUserId = "LastUserId";
		#endregion

	}
}
